Parallel Extensions to the Matrix Template Library
نویسندگان
چکیده
We present the preliminary design for a C++ template library to enable the compositional construction of matrix classes suitable for high performance numerical linear algebra computations. The library based on our interface definition — the Matrix Template Library (MTL) — is written in C++ and consists of a small number of template classes that can be composed to represent commonly used matrix formats (both sparse and dense) and parallel data distributions. A comprehensive set of generic algorithms provide high performance for all MTL matrix objects without requiring specific functionality for particular types of matrices. We present performance data to demonstrate that there is little or no performance penalty caused by the powerful MTL abstractions.
منابع مشابه
STAPL: A Standard Template Adaptive Parallel C++ Library
The Standard Template Adaptive Parallel Library (STAPL) is a parallel library designed as a superset of the ANSI C++ Standard Template Library (STL). It is sequentially consistent for functions with the same name, and executes on unior multi-processor systems that utilize shared or distributed memory. STAPL is implemented using simple parallel extensions of C++ that currently provide a SPMD mod...
متن کاملMatrix Multiplication Specialization in STAPL
The Standard Template Adaptive Parallel Library (STAPL) is a superset of C++’s Standard Template Library (STL) which allows highproductivity parallel programming in both distributed and shared memory environments. This framework provides parallel equivalents of STL containers and algorithms enabling ease of development for parallel systems. In this paper, we will discuss our methodology for imp...
متن کاملSTAPL: An Adaptive, Generic Parallel C++ Library
The Standard Template Adaptive Parallel Library (STAPL) is a parallel library designed as a superset of the ANSI C++ Standard Template Library (STL). It is sequentially consistent for functions with the same name, and executes on unior multi-processor systems that utilize shared or distributed memory. STAPL is implemented using simple parallel extensions of C++ that currently provide a SPMD mod...
متن کاملOBP Lib: An Object-Oriented Parallel Library and its Preliminary Performance
OBP Lib (Object-Oriented Building Blocks in Parallel Programming) is a collection of parallel object classes including parallel array and matrix/vector classes in C ++ , which is useful for combining numeric algorithm templates libraries. The OBP Lib allows us to express parallel programs using parallel objects such as arrays and matrices, and still to hide the details of parallel programs. The...
متن کاملEfficient Implementation of Portable C*-like Data-Parallel Library in C++
The C* language is a data-parallel extension of the C language which incorporates parallel data types. Since the C ++ language provides operator overloading, a C ++ library can implement the C* parallel extensions with a similar syntax. Although library implementations are highly portable, some overheads make them impractical. The two major overheads incurred are temporaries in each operator ap...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1997